#ifndef DW_GRAPHICS_VERTEX_BUFFER_H
#	define DW_GRAPHICS_VERTEX_BUFFER_H

#include "graphics/opengl/bufferobject.h"
#include "graphics/vertexformat.h"

namespace dw {
	namespace graphics {

class VertexBuffer
:	public details::BufferObject
{
public :
	const VertexFormat* getVertexFormat() const ;

private :
	typedef BufferObject super;

private :
	friend class Renderer;

	VertexBuffer(updates update, usages usage, const VertexFormat* format);
	VertexBuffer(GLuint id, updates update, usages usage, const VertexFormat* format);
	~VertexBuffer();

private :
	const VertexFormat* m_format;
};

	} // namespace graphics
} // namespace dw

#include "graphics/vertexbuffer.inl"

#endif // !DW_GRAPHICS_VERTEX_BUFFER_H
